from flask import Flask, render_template
import pandas as pd
# from pyecharts.charts import options as opts
from pyecharts.charts import Bar
import numpy as np
import matplotlib.pyplot as plt 

app = Flask(__name__)

# 1.读取截止至2017年中国大学毕业生薪酬排行榜前20
def read_data():
    return pd.read_csv("./salary.csv")

@app.route('/index')
def movies():
#展示截止至2017年中国大学毕业生薪酬排行榜前20
    df = read_data().head(20)
    return render_template(
        "index.html",
        # df_data 是HTML文件中的变量
        df_data=df.to_html(classes="male", index=False),

    )

@app.route('/text',methods=['GET', 'POST'])
# # 工作 1 年和 5 年的薪资排行 TOP 10 高校
def get_user_info():
    df = read_data().head(20)
    df1 = df.iloc[:,[1,6]]
    # 按2015年进行分组聚合并删除
    df2 = df.sort_values(by='2015',ascending=False).reset_index(drop=True)
    df2 = df2.iloc[:,[1,8]]
    #合并2017年和2013年的数据
    df3 = pd.concat([df1,df2],axis=1)
    df4 = df3.head(10)
    # 返回页面结果（变量名称 python文件中的变量 VS HTML文件中的变量）
    return render_template(
        "user_info.html",
        # school_data 是HTML文件中的变量
        school_data=df4.to_html(classes="male", index=False),

    )


@app.route('/school',methods=['GET', 'POST'])
# # 不同区域毕业生薪资随时间的变化
def quyu():
    df = read_data()
    data = df.groupby(by='province').mean()
    data1 = data.sort_values(by=['2017','2015','2013'],ascending=False)
    data2 = pd.DataFrame(data1)
    del data2["rank"]
    del data2["985"]
    del data2["211"]
    data3 = data2.astype(int)
    return render_template(
        "school1.html",
        # school_data 是HTML文件中的变量
        school1_data=data3.to_html(classes="female", index=True),

    )



@app.route('/school2',methods=['GET', 'POST'])
#  985 211 薪资对比
def school():
    # 无法渲染pyecharts，代码在jupyter notebook中可以显示图片
    # df = read_data()
    # data5 = df.groupby(by=['985','211']).mean().round(0)
    # data5.iloc[:,1:5]
    # value = list(data5['2017'].values.round(0))
    # value2 = list(data5['2015'].values.round(0))
    # value3 = list(data5['2013'].values.round(0))
    # attr = list(data5.index)
    # attr = ['双非','211','985']
    # print(value,attr)
    # bar = Bar('不同学校类型薪资对比','985高校高于211高于双非',title_color='#fff',
    #      title_pos='center') #,width=1200,height=600
    # bar.add('',attr,value,
    # is_label_show=True,
    # y_axis_interval=0,
    # y_axis_roate=45,
    # is_legend_show=True,
    # )
    # bar.add('',attr,value2,
    # is_label_show=True,
    # y_axis_interval=0,
    # y_axis_roate=45,
    # is_legend_show=True,
    # legend_pos='right'
    # )
    # bar.add('',attr,value3,
    # is_label_show=True,
    # y_axis_interval=0,
    # y_axis_roate=45,
    # is_legend_show=True,
    # legend_pos='right'
    # )
    # 返回页面结果（变量名称 python文件中的变量 VS HTML文件中的变量）
    return render_template('school2.html',
                           )



if __name__ == '__main__':
    app.run(
        debug=True
    )
